Supervised Learning (সুপারভাইজড লার্নিং) একটি মেশিন লার্নিং পদ্ধতি, যেখানে মডেলকে লেবেলড ডেটা দিয়ে প্রশিক্ষিত করা হয়। অর্থাৎ, ইনপুট ডেটার সাথে সংশ্লিষ্ট আউটপুট (লেবেল) বা সঠিক উত্তর দেয়া হয়। মডেলটি এই লেবেল এবং ইনপুট ডেটার মধ্যে সম্পর্ক শিখে, এবং ভবিষ্যতে অজ্ঞাত ইনপুট ডেটার জন্য আউটপুট বা পূর্বাভাস তৈরি করতে সক্ষম হয়।
Supervised Learning এর প্রক্রিয়া:
- ডেটা সংগ্রহ:
একটি ডেটাসেট সংগ্রহ করা হয়, যেখানে প্রতিটি ইনপুট ডেটার জন্য একটি সঠিক আউটপুট (লেবেল) থাকে। উদাহরণস্বরূপ, একটি ক্লাসিফিকেশন সমস্যায় ইনপুট হতে পারে ইমেইল এবং আউটপুট হতে পারে "স্প্যাম" বা "নন-স্প্যাম"। - মডেল ট্রেনিং (Model Training):
এই লেবেলড ডেটা ব্যবহার করে একটি মডেলকে প্রশিক্ষিত করা হয়। মডেলটি ইনপুট এবং আউটপুটের মধ্যে সম্পর্ক শিখে ভবিষ্যতের জন্য পূর্বাভাস তৈরি করতে প্রস্তুত হয়। - পূর্বাভাস (Prediction):
প্রশিক্ষিত মডেলটি নতুন ইনপুট ডেটার জন্য আউটপুট বা পূর্বাভাস তৈরি করে।
Supervised Learning এর প্রধান দুই ধরনের সমস্যা:
- ক্লাসিফিকেশন (Classification):
ক্লাসিফিকেশন সমস্যা সেই ক্ষেত্রে হয় যেখানে আউটপুট ভেরিয়েবলটি শ্রেণীভুক্ত (categorical) হয়। অর্থাৎ, ডেটাকে বিভিন্ন শ্রেণীতে ভাগ করা হয়।
উদাহরণ:- ইমেইল স্প্যাম ডিটেকশন: "স্প্যাম" অথবা "নন-স্প্যাম"
- রোগ শনাক্তকরণ: "হ্যাঁ" বা "না"
- রিগ্রেশন (Regression):
রিগ্রেশন সমস্যা তখন ঘটে যখন আউটপুট ভেরিয়েবলটি ধারাবাহিক (continuous) হয়। অর্থাৎ, মডেল একটি নির্দিষ্ট সংখ্যা বা পরিমাণ পূর্বাভাস করে।
উদাহরণ:- ভবিষ্যত স্টক মূল্য পূর্বাভাস
- বাড়ির মূল্য পূর্বাভাস
Supervised Learning এর উদাহরণ:
ক্লাসিফিকেশন:
একটি ফিনান্সিয়াল প্রতিষ্ঠান যদি জানতে চায়, "একটি ঋণ আবেদনকারী ঋণ পরিশোধ করতে সক্ষম হবে কিনা?" তাদেরকে দুটি শ্রেণীতে ভাগ করতে হবে:
- শ্রেণী ১: ঋণ পরিশোধ করতে সক্ষম
- শ্রেণী ২: ঋণ পরিশোধ করতে অক্ষম
এখানে, ইনপুট ডেটা হতে পারে ঋণ আবেদনকারীর বিভিন্ন বৈশিষ্ট্য, যেমন আয়, কর্মসংস্থান স্থিতি, ঋণ ইতিহাস, ইত্যাদি। আউটপুট (লেবেল) হবে শ্রেণী ১ বা শ্রেণী ২।
রিগ্রেশন:
ধরুন, ভবিষ্যতে একটি বাড়ির মূল্য পূর্বাভাস করতে চাচ্ছি। ইনপুট ভেরিয়েবল হতে পারে বাড়ির আয়তন, অবস্থান, সজ্জা ইত্যাদি। আউটপুট হবে বাড়ির দাম, যা একটি ধারাবাহিক সংখ্যা।
Supervised Learning এর মডেলগুলো:
Supervised Learning পদ্ধতিতে ব্যবহৃত কিছু জনপ্রিয় মডেল:
- লিনিয়ার রিগ্রেশন (Linear Regression):
রিগ্রেশন সমস্যায় ব্যবহৃত হয়, যেখানে আউটপুট একটি ধারাবাহিক সংখ্যা। - লজিস্টিক রিগ্রেশন (Logistic Regression):
ক্লাসিফিকেশন সমস্যায় ব্যবহৃত হয়, যেখানে আউটপুট দুটি শ্রেণীতে বিভক্ত হয়। - ডিসিশন ট্রি (Decision Tree):
ক্লাসিফিকেশন এবং রিগ্রেশন উভয় ক্ষেত্রেই ব্যবহৃত হয়, যেখানে সিদ্ধান্ত গাছের মাধ্যমে ইনপুটের ভিত্তিতে আউটপুট তৈরি করা হয়। - র্যান্ডম ফরেস্ট (Random Forest):
এটি একাধিক ডিসিশন ট্রির সমন্বয়ে তৈরি একটি শক্তিশালী মডেল। - সাপোর্ট ভেক্টর মেশিন (SVM):
ক্লাসিফিকেশন সমস্যা সমাধানে ব্যবহৃত হয়, যেখানে একটি সুপারহাইপারপ্লেনের মাধ্যমে শ্রেণীভুক্ত করা হয়। - k-Nearest Neighbors (KNN):
ক্লাসিফিকেশন এবং রিগ্রেশন সমস্যা সমাধান করে, যেখানে কটাক্ষণের কাছাকাছি পয়েন্টগুলির উপর ভিত্তি করে সিদ্ধান্ত নেওয়া হয়।
Supervised Learning এর সুবিধা:
- উচ্চ সঠিকতা:
সঠিক লেবেলড ডেটা থাকলে মডেলটি ভালভাবে কাজ করে এবং ভালো ফলাফল দেয়। - স্পষ্ট আউটপুট:
ক্লাসিফিকেশন এবং রিগ্রেশন মডেলগুলির আউটপুট খুব স্পষ্ট এবং নির্দিষ্ট। - সহজ ট্রেনিং:
মডেলটি প্রশিক্ষণের জন্য লেবেলড ডেটা ব্যবহার করে সহজেই সম্পর্ক শিখতে পারে।
সারাংশ
Supervised Learning হলো একটি মেশিন লার্নিং পদ্ধতি যেখানে লেবেলড ডেটা ব্যবহার করে মডেল প্রশিক্ষিত হয় এবং তা ভবিষ্যতে নতুন ইনপুটের জন্য আউটপুট বা পূর্বাভাস তৈরি করতে সক্ষম হয়। এটি ক্লাসিফিকেশন এবং রিগ্রেশন দুই ধরনের সমস্যার জন্য ব্যবহৃত হয় এবং এর মাধ্যমে খুবই কার্যকরী এবং নির্ভুল মডেল তৈরি করা যায়।
Supervised Learning (সুপারভাইজড লার্নিং) হলো মেশিন লার্নিং এর একটি প্রধান শাখা যেখানে মডেলকে লেবেলড ডেটা দিয়ে প্রশিক্ষণ দেওয়া হয়। এর মানে হলো, ইনপুট ডেটার সাথে সংশ্লিষ্ট আউটপুট (লেবেল) দেওয়া থাকে, এবং মডেলটি এই ইনপুট এবং আউটপুটের সম্পর্ক শিখে ভবিষ্যতে নতুন ইনপুটের জন্য পূর্বাভাস তৈরি করে।
Supervised Learning এর মূল ধারণা
Supervised Learning পদ্ধতিতে, মডেলটি প্রশিক্ষণ ডেটা থেকে শিখে, যেখানে ডেটার সাথে টার্গেট আউটপুট বা লেবেল সরবরাহ করা হয়। এর মাধ্যমে মডেলটি তার পূর্বাভাসের জন্য সঠিক আউটপুট প্রেডিকশন করতে শিখে। মডেলটি ফিচারস (features) এবং লেবেলস (labels) ব্যবহার করে ইনপুট এবং আউটপুটের সম্পর্ক বুঝতে চেষ্টা করে।
প্রক্রিয়া:
- ডেটা সংগ্রহ: লেবেলড ডেটাসেট সংগ্রহ করা হয়, যেখানে ইনপুট এবং আউটপুট দেওয়া থাকে।
- মডেল প্রশিক্ষণ: মডেলটিকে এই ডেটা ব্যবহার করে প্রশিক্ষিত করা হয়।
- পূর্বাভাস: প্রশিক্ষিত মডেলটি নতুন ইনপুট ডেটার জন্য আউটপুট (লেবেল) পূর্বাভাস দেয়।
Supervised Learning এর প্রকারভেদ
Supervised Learning মূলত দুটি প্রধান প্রকারে বিভক্ত:
- ক্লাসিফিকেশন (Classification):
- ক্লাসিফিকেশন হলো একটি সমস্যা যেখানে আউটপুট বা লেবেল একটি নির্দিষ্ট শ্রেণিতে (class) পরিণত হয়। এটি একটি ক্যাটেগরি (category) বা শ্রেণীভুক্ত আউটপুট তৈরি করতে ব্যবহৃত হয়। মডেলটি একাধিক শ্রেণির মধ্যে ডেটাকে শ্রেণীবদ্ধ করে।
- উদাহরণ:
- ইমেইল স্প্যাম ডিটেকশন (স্প্যাম বা নন-স্প্যাম)
- রোগ নির্ণয় (ক্যান্সার অথবা না)
- চেহারা শনাক্তকরণ (পুরুষ বা মহিলা)
- ক্লাসিফিকেশন মডেলের উদাহরণ:
- লজিস্টিক রিগ্রেশন
- সাপোর্ট ভেক্টর মেশিন (SVM)
- ক-nearest neighbors (KNN)
- র্যান্ডম ফরেস্ট
- রিগ্রেশন (Regression):
- রিগ্রেশন হলো একটি সমস্যা যেখানে আউটপুট একটি ধারাবাহিক মান (continuous value) হয়। এটি সাধারণত সংখ্যা পূর্বাভাস করার জন্য ব্যবহৃত হয়, যেমন ভবিষ্যতে কোনো পরিমাণ বা মান কত হবে তা নির্ধারণ করা।
- উদাহরণ:
- বাড়ির দাম পূর্বাভাস
- স্টক মার্কেট প্রেডিকশন
- কোনো কোম্পানির পরবর্তী মাসের বিক্রয়
- রিগ্রেশন মডেলের উদাহরণ:
- লিনিয়ার রিগ্রেশন
- রিজ রিগ্রেশন
- লাসো রিগ্রেশন
- র্যান্ডম ফরেস্ট রিগ্রেশন
Supervised Learning এর প্রধান বৈশিষ্ট্য
- লেবেলড ডেটা:
Supervised Learning শুধুমাত্র লেবেলড ডেটার উপর কাজ করে, যেখানে প্রতিটি ইনপুট ডেটার সাথে একটি সঠিক আউটপুট (লেবেল) থাকে। - ট্রেনিং এবং টেস্ট সেট:
ডেটাসেটটি সাধারণত দুটি ভাগে বিভক্ত করা হয়: ট্রেনিং সেট এবং টেস্ট সেট। ট্রেনিং সেটে মডেলটি প্রশিক্ষিত হয়, এবং টেস্ট সেটে মডেলটির পারফরম্যান্স পরীক্ষা করা হয়। - পূর্বাভাস:
প্রশিক্ষণের পর, মডেলটি নতুন অজানা ইনপুট ডেটার জন্য পূর্বাভাস তৈরি করতে সক্ষম হয়।
Supervised Learning এর উপকারিতা:
- সহজ এবং নির্ভুল:
লেবেলড ডেটার সাথে মডেলটি কাজ করলে, এটি সাধারণত বেশি নির্ভুল ফলাফল দেয়। - স্পষ্ট সম্পর্ক শিখতে সাহায্য করে:
Supervised Learning ইনপুট এবং আউটপুটের মধ্যে স্পষ্ট সম্পর্ক বুঝতে সাহায্য করে। - প্রসেসের স্বচ্ছতা:
কারণ আউটপুট লেবেল দেওয়া থাকে, তাই মডেলের কার্যক্রম এবং ফলাফল বোধগম্য এবং পরিমাপযোগ্য হয়।
সারাংশ
Supervised Learning হল একটি মেশিন লার্নিং পদ্ধতি যেখানে মডেলটি লেবেলড ডেটার উপর প্রশিক্ষিত হয় এবং নতুন ইনপুট ডেটার জন্য পূর্বাভাস প্রদান করে। এটি ক্লাসিফিকেশন এবং রিগ্রেশন এই দুটি প্রধান প্রকারে বিভক্ত। ক্লাসিফিকেশন মডেলগুলো শ্রেণীভুক্ত আউটপুট তৈরি করে, এবং রিগ্রেশন মডেলগুলো ধারাবাহিক মান (সংখ্যা) পূর্বাভাস করে।
Classification এবং Regression মেশিন লার্নিংয়ের দুইটি প্রধান শাখা, যা বিভিন্ন ধরনের সমস্যার সমাধান করতে ব্যবহৃত হয়। তাদের মধ্যে মৌলিক পার্থক্য হলো যে তারা কী ধরনের আউটপুট বা পূর্বাভাস প্রদান করে।
1. Classification (ক্লাসিফিকেশন)
Classification হলো একটি সুপারভাইজড লার্নিং টেকনিক, যেখানে মডেলকে লেবেলড ডেটা ব্যবহার করে প্রশিক্ষণ দেয়া হয়, এবং আউটপুট হিসেবে বিভিন্ন শ্রেণি বা ক্যাটেগরির মধ্যে একটি নির্বাচন করা হয়। মূলত, এটি ডেটাকে শ্রেণিবদ্ধ করে থাকে, অর্থাৎ এটি সমস্যাকে একাধিক শ্রেণির মধ্যে ভাগ করার চেষ্টা করে।
উদাহরণ:
- স্প্যাম ইমেইল শনাক্তকরণ: মডেলটি একটি ইমেইলকে "স্প্যাম" বা "নন-স্প্যাম" শ্রেণিতে শ্রেণীবদ্ধ করে।
- চেহারা শনাক্তকরণ: মডেলটি ছবি দেখে এটি শনাক্ত করতে পারে যে এটি একটি "মানুষ", "প্রাণী" অথবা "গাছ"।
- ডায়াবেটিস চেক: মডেলটি রোগীকে "ডায়াবেটিস আছে" অথবা "ডায়াবেটিস নেই" হিসাবে শ্রেণিবদ্ধ করে।
বৈশিষ্ট্য:
- আউটপুটটি ক্যাটেগরিক্যাল বা ডিসক্রিট (যেমন: ক্লাস ১, ক্লাস ২, বা স্প্যাম/নন-স্প্যাম)।
- মডেল সাধারণত ক্লাসিফিকেশন অ্যালগরিদম ব্যবহার করে (যেমন: লজিস্টিক রিগ্রেশন, SVM, K-Nearest Neighbors, Decision Trees)।
2. Regression (রিগ্রেশন)
Regression হলো একটি সুপারভাইজড লার্নিং টেকনিক, যেখানে মডেলকে লেবেলড ডেটা ব্যবহার করে প্রশিক্ষণ দেয়া হয় এবং আউটপুট হিসেবে একটি নির্দিষ্ট ধারাবাহিক মান (continuous value) পূর্বাভাস করা হয়। মূলত, এটি ডেটার মধ্যে সম্পর্ক শিখে এবং একটি নির্দিষ্ট মান বা পরিমাণ পূর্বাভাস দিতে সহায়ক।
উদাহরণ:
- বিক্রয় পূর্বাভাস: মডেলটি ভবিষ্যতের বিক্রয়ের পরিমাণ পূর্বাভাস করতে পারে।
- তাপমাত্রা পূর্বাভাস: মডেলটি আগামীকাল তাপমাত্রা কত হবে তা পূর্বাভাস করতে পারে।
- বাড়ির মূল্য পূর্বাভাস: মডেলটি বাড়ির সাইজ, অবস্থান এবং অন্যান্য বৈশিষ্ট্য দেখে এর মূল্য নির্ধারণ করতে পারে।
বৈশিষ্ট্য:
- আউটপুটটি ধারাবাহিক (continuous) বা নির্দিষ্ট পরিমাণ (যেমন: ৫০ ডলার, ২৮ ডিগ্রি সেলসিয়াস)।
- মডেল সাধারণত রিগ্রেশন অ্যালগরিদম ব্যবহার করে (যেমন: লিনিয়ার রিগ্রেশন, র্যান্ডম ফরেস্ট রিগ্রেশন, লজিস্টিক রিগ্রেশন)।
Classification এবং Regression এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Classification | Regression |
|---|---|---|
| আউটপুট | ক্যাটেগরিক্যাল (লেবেল বা শ্রেণি) | ধারাবাহিক মান (পরিমাণ বা সংখ্যা) |
| লক্ষ্য | ডেটাকে শ্রেণীতে ভাগ করা (যেমন, স্প্যাম/নন-স্প্যাম) | নির্দিষ্ট মান পূর্বাভাস করা (যেমন, মূল্য বা তাপমাত্রা) |
| অ্যালগরিদম | SVM, Decision Trees, Naive Bayes, KNN | Linear Regression, Random Forest Regression, Lasso Regression |
| ব্যবহার | স্প্যাম ইমেইল শনাক্তকরণ, ইমেজ ক্লাসিফিকেশন | স্টক প্রাইস প্রেডিকশন, হাউজ প্রাইস প্রেডিকশন |
| আউটপুট ধরনের ধরন | ডিসক্রিট (যেমন: স্প্যাম, নন-স্প্যাম) | কন্টিনিউয়াস (যেমন: ২৮ ডিগ্রি, ৫০ ডলার) |
সারাংশ
- Classification সমস্যা এমন যেখানে মডেলটি শ্রেণিবদ্ধ ডেটা দিয়ে শিখে এবং আউটপুট হিসেবে শ্রেণি বা ক্যাটেগরি (যেমন, স্প্যাম বা নন-স্প্যাম) প্রদান করে।
- Regression সমস্যা এমন যেখানে মডেলটি ধারাবাহিক ডেটা দিয়ে শিখে এবং একটি নির্দিষ্ট পরিমাণ (যেমন, বিক্রয়ের পরিমাণ বা তাপমাত্রা) পূর্বাভাস প্রদান করে।
এই দুটি শাখার মধ্যে প্রধান পার্থক্য হলো আউটপুট: Classification আউটপুট হিসাবে ক্লাস বা শ্রেণি দেয়, যখন Regression একটি নির্দিষ্ট মান বা পরিমাণ প্রদান করে।
মেশিন লার্নিং মডেল তৈরি করার সময়, Model Training এবং Model Testing দুটি গুরুত্বপূর্ণ ধাপ। এই প্রক্রিয়াগুলি মডেলকে শিখতে এবং তার কার্যকারিতা যাচাই করতে সহায়ক হয়। নিচে এই দুটি প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হলো।
Model Training (মডেল প্রশিক্ষণ প্রক্রিয়া)
মডেল ট্রেনিং হল এমন একটি প্রক্রিয়া যেখানে মডেলকে ডেটা থেকে শিখতে দেয়া হয়। প্রশিক্ষণ প্রক্রিয়া মূলত দুটি পর্যায়ে বিভক্ত হয়:
- ডেটা প্রস্তুতি:
মডেল ট্রেনিং শুরু করার আগে ডেটাকে প্রস্তুত করতে হবে। এখানে ডেটা স্কেলিং, নরমালাইজেশন, মিসিং ভ্যালু ফিলিং, এবং ক্যাটেগরিকাল ডেটা এনকোডিং করা হতে পারে। - মডেল নির্বাচন:
মডেল ট্রেনিংয়ের জন্য সঠিক মডেল নির্বাচন করতে হবে। বিভিন্ন সমস্যার জন্য বিভিন্ন মডেল ব্যবহৃত হয়:- ক্লাসিফিকেশন: লজিস্টিক রিগ্রেশন, সাপোর্ট ভেক্টর মেশিন (SVM), র্যান্ডম ফরেস্ট।
- রিগ্রেশন: লিনিয়ার রিগ্রেশন, রিজ রিগ্রেশন।
- ক্লাস্টারিং: K-Means, DBSCAN।
- মডেল ট্রেনিং:
মডেল নির্বাচিত হওয়ার পর, ডেটার ইনপুট বৈশিষ্ট্য (features) এবং আউটপুট লেবেল (label) দিয়ে মডেলটি প্রশিক্ষণ করা হয়। ট্রেনিং প্রক্রিয়ায় মডেলটি ইনপুট ডেটা থেকে প্যাটার্ন বা সম্পর্ক শিখে। এই প্রক্রিয়া চলাকালীন মডেলটি তার প্যারামিটারগুলি আপডেট করে।
প্রক্রিয়া:
from sklearn.ensemble import RandomForestClassifier
# ডেটা লোড করা
X_train, y_train = ...
# মডেল তৈরি করা
model = RandomForestClassifier()
# মডেল ট্রেনিং
model.fit(X_train, y_train)
Model Testing (মডেল পরীক্ষা প্রক্রিয়া)
মডেলটি প্রশিক্ষিত হওয়ার পর, তার কার্যকারিতা পরীক্ষা করা হয় Testing Data ব্যবহার করে। Testing প্রক্রিয়া মূলত মডেলের জেনারেলাইজেশন ক্ষমতা যাচাই করার জন্য ব্যবহৃত হয়। অর্থাৎ, মডেলটি নতুন অজানা ডেটার উপর কতটা ভাল পারফর্ম করছে তা যাচাই করা হয়।
- টেস্ট ডেটা প্রস্তুতি:
মডেলটি প্রশিক্ষণের সময় ব্যবহৃত ডেটা (Training Data) থেকে আলাদা কিছু ডেটা Test Data হিসেবে রাখা হয়। এই ডেটা মডেল ট্রেনিংয়ের সময় ব্যবহার করা হয় না, তাই এটি নতুন ডেটা হিসেবে ব্যবহৃত হয়। - পূর্বাভাস (Prediction):
মডেলটি ট্রেনিং শেষ হওয়ার পর, Test Data ব্যবহার করে আউটপুট (পূর্বাভাস) তৈরি করা হয়। - পারফরম্যান্স মূল্যায়ন (Performance Evaluation):
মডেলটির সঠিকতা (Accuracy), প্রিসিশন (Precision), রিকল (Recall), F1 স্কোর, কনফিউশন ম্যাট্রিক্স বা অন্যান্য মেট্রিক্সের মাধ্যমে পারফরম্যান্স মূল্যায়ন করা হয়। বিভিন্ন মেট্রিক্স বিভিন্ন ধরণের সমস্যার জন্য উপযুক্ত হতে পারে।
প্রক্রিয়া:
from sklearn.metrics import accuracy_score
# মডেল থেকে পূর্বাভাস নেওয়া
y_pred = model.predict(X_test)
# একুরেসি স্কোর
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
Model Training এবং Testing এর মধ্যে সম্পর্ক
- Training Data: এটি মডেলকে প্রশিক্ষণ দেয়, যাতে মডেলটি প্যাটার্ন বা সম্পর্ক শিখতে পারে।
- Testing Data: এটি মডেলটির কার্যকারিতা এবং জেনারেলাইজেশন ক্ষমতা পরীক্ষা করে, এবং এটি মডেলটি নতুন ডেটার জন্য কতটা সঠিক পূর্বাভাস দিতে পারে তা যাচাই করে।
Cross-Validation (ক্রস-ভ্যালিডেশন)
ক্রস-ভ্যালিডেশন একটি কৌশল যা Training এবং Testing ডেটা ভাগ করে মডেলের পারফরম্যান্স আরও সঠিকভাবে নির্ধারণ করতে সাহায্য করে। এর মধ্যে একটি জনপ্রিয় পদ্ধতি হল k-fold cross-validation, যেখানে ডেটাকে k টি সমান অংশে ভাগ করা হয় এবং মডেলটি কটির প্রতিটি অংশে একে একে পরীক্ষা করা হয়।
প্রক্রিয়া:
from sklearn.model_selection import cross_val_score
# মডেল ট্রেনিং এবং ক্রস-ভ্যালিডেশন
scores = cross_val_score(model, X, y, cv=5)
print("Cross-validation scores:", scores)
সারাংশ
- Model Training হল এমন একটি প্রক্রিয়া যেখানে মডেলকে ডেটার মধ্যে সম্পর্ক শিখতে দেয়া হয়।
- Model Testing হল মডেলটির পারফরম্যান্স এবং জেনারেলাইজেশন ক্ষমতা যাচাই করা, যাতে মডেলটি নতুন ডেটার জন্য পূর্বাভাস দিতে সক্ষম হয়।
- Cross-Validation মডেলটির পারফরম্যান্স আরও নির্ভুলভাবে পরিমাপ করতে সহায়ক, বিশেষত যখন ডেটা সীমিত থাকে।
মেশিন লার্নিং মডেলের পারফরম্যান্স মূল্যায়ন করার জন্য বিভিন্ন মেট্রিক্স ব্যবহার করা হয়। Accuracy, Precision, Recall, এবং F1 Score হলো সবচেয়ে সাধারণ মেট্রিক্স, যা ক্লাসিফিকেশন মডেলের পারফরম্যান্স পরিমাপ করতে ব্যবহৃত হয়। এই মেট্রিক্সগুলো বুঝতে পারলে আপনি মডেলের কার্যকারিতা আরও ভালোভাবে মূল্যায়ন করতে পারবেন।
1. Accuracy (একুরেসি)
Accuracy হলো মডেল দ্বারা সঠিকভাবে শ্রেণিবদ্ধ (classified) ডেটার পরিমাণের অনুপাত। এটি মোট সঠিক পূর্বাভাসের সংখ্যা (True Positives + True Negatives) ভাগে মোট ডেটা পয়েন্টের সংখ্যা (সবটি ডেটা পয়েন্ট)। এটি মডেলের সামগ্রিক সঠিকতা পরিমাপ করে।
ফর্মুলা:
যেমন:
- একটি মডেল ১০০টি ডেটা পয়েন্টের মধ্যে ৯০টি সঠিক পূর্বাভাস করেছে, তাহলে accuracy হবে ৯০%।
উপকারিতা:
- সহজে বোঝার মতো এবং সবার জন্য পরিচিত।
সীমাবদ্ধতা:
- এটি অসমান শ্রেণী (class imbalance) ডেটা সজ্জিত থাকলে সঠিক ফলাফল নাও দিতে পারে। অর্থাৎ, যদি একটি শ্রেণী অনেক বড় হয় এবং অন্যটি ছোট হয়, তবে মডেল শুধুমাত্র বড় শ্রেণীর উপর ভিত্তি করে বেশি সঠিক হতে পারে।
2. Precision (প্রিসিশন)
Precision হলো মডেল দ্বারা "পজিটিভ" শ্রেণীতে পূর্বাভাস করা সবগুলোকে সঠিকভাবে পজিটিভ হিসেবে শ্রেণিবদ্ধ করার পরিমাণ। অর্থাৎ, কতটি পূর্বাভাস সত্যিই সঠিক পজিটিভ ছিল। এটি বিশেষভাবে গুরুত্বপূর্ণ যখন মডেল ভুল পজিটিভ (False Positive) কম রাখতে চায়।
ফর্মুলা:
যেমন:
- যদি একটি মডেল ৮০টি পজিটিভ পূর্বাভাস দিয়েছে, যার মধ্যে ৭০টি সঠিক, তাহলে precision হবে বা ৮৭.৫%।
উপকারিতা:
- বিশেষভাবে গুরুত্বপূর্ণ যখন ভুল পজিটিভ (False Positives) কমানো প্রয়োজন, যেমন রোগ সনাক্তকরণ মডেলে।
3. Recall (রিকল)
Recall, বা Sensitivity বা True Positive Rate, হলো মডেল দ্বারা সঠিকভাবে শনাক্ত করা পজিটিভ ক্লাসের পরিমাণ। এটি মডেলের ক্ষমতা পরিমাপ করে যে, এটি কতটা ভালোভাবে পজিটিভ শ্রেণী চিহ্নিত করতে পারছে। অর্থাৎ, পজিটিভ ডেটার মধ্যে কতটুকু সঠিকভাবে সনাক্ত হয়েছে।
ফর্মুলা:
যেমন:
- একটি মডেল ৭০টি সঠিক পজিটিভ শনাক্ত করেছে, তবে মোট ১০০টি পজিটিভ ছিল, তাহলে recall হবে বা ৭০%।
উপকারিতা:
- এটি বিশেষভাবে গুরুত্বপূর্ণ যখন ভুল নেগেটিভ (False Negatives) কমানো প্রয়োজন, যেমন রোগ সনাক্তকরণে যেখানে ভুলভাবে স্বাস্থ্যবান মানুষকে রোগী হিসেবে চিহ্নিত করা ভুল হতে পারে।
4. F1 Score (F1 স্কোর)
F1 Score হলো Precision এবং Recall এর গাণিতিক গড়। এটি মডেলের সামগ্রিক পারফরম্যান্স পরিমাপ করে, যেখানে precision এবং recall উভয়কেই সমান গুরুত্ব দেওয়া হয়। F1 Score হলো দুটি মেট্রিক্সের সমন্বিত পরিমাপ, যা তাদের মধ্যে ভারসাম্য তৈরি করে।
ফর্মুলা:
যেমন:
- যদি precision = 0.8 এবং recall = 0.6, তাহলে F1 Score হবে:
উপকারিতা:
- F1 Score বিশেষভাবে গুরুত্বপূর্ণ যখন precision এবং recall উভয়েরই গুরুত্ব থাকে এবং আপনি তাদের মধ্যে একটি ভারসাম্য চান। এটি অসমান শ্রেণী (class imbalance) ডেটার জন্য একটি ভালো মেট্রিক্স।
মেট্রিক্সের তুলনা
| মেট্রিক্স | ব্যাখ্যা | কীভাবে ব্যবহৃত হয় |
|---|---|---|
| Accuracy | সঠিক পূর্বাভাসের অনুপাত। | সাধারণত ব্যবহার করা হয়, তবে class imbalance এ সমস্যা হতে পারে। |
| Precision | পজিটিভ পূর্বাভাসগুলোর মধ্যে সঠিক পজিটিভের অনুপাত। | যখন ভুল পজিটিভ (False Positives) কমানো জরুরি, যেমন রোগ সনাক্তকরণ। |
| Recall | পজিটিভ ডেটার মধ্যে সঠিক পজিটিভের অনুপাত। | যখন ভুল নেগেটিভ (False Negatives) কমানো জরুরি, যেমন ফ্রড ডিটেকশন। |
| F1 Score | Precision এবং Recall এর গাণিতিক গড়। | Precision এবং Recall এর মধ্যে ভারসাম্য রাখতে গুরুত্বপূর্ণ। |
সারাংশ
- Accuracy হলো মডেলের সঠিকতা পরিমাপের জন্য সবচেয়ে সাধারণ মেট্রিক, তবে এটি ক্লাস ইমব্যালেন্সের ক্ষেত্রে সঠিক ফলাফল নাও দিতে পারে।
- Precision ভুল পজিটিভের হার কমানোর জন্য ব্যবহৃত হয়, যেমন রোগ নির্ণয়ের ক্ষেত্রে।
- Recall ভুল নেগেটিভ কমানোর জন্য ব্যবহৃত হয়, যেমন ফ্রড বা জরুরি পরিস্থিতি চিহ্নিতকরণের জন্য।
- F1 Score হলো Precision এবং Recall এর মধ্যে একটি ভারসাম্য যা দুইটি মেট্রিক্সের শক্তিশালী দিকগুলো একত্রিত করে।
এই মেট্রিক্সগুলো মডেলের পারফরম্যান্স মূল্যায়ন এবং উন্নত করার জন্য অত্যন্ত গুরুত্বপূর্ণ।
Read more